using Abp.Domain.Entities.Auditing;
using System;
using System.Collections.Generic;
using System.ComponentModel.DataAnnotations;
using System.ComponentModel.DataAnnotations.Schema;
using System.Text;
using Yozeev.UserManagerment.Users;

namespace Yozeev.BusinessLogic
{
    /// <summary>
    /// 游船
    /// </summary>
    public class Boat : ByBranchEntity<Guid>
    {
        /// <summary>
        /// 游船名称
        /// </summary>
        [Required]
        public string BoatName { get; set; }
        /// <summary>
        /// 游船序号
        /// </summary>
        [Required]
        public string BoatCode { get; set; }
        /// <summary>
        /// 游船座位数
        /// </summary>
        [Required]
        public long SeatNumber { get; set; }
     
        /// <summary>
        /// 游船状态
        /// </summary>
        public RunStatusEnum RunStatus { get; set; }
        /// <summary>
        /// 游船负责人
        /// </summary>
        public string Leader { get; set; }
        /// <summary>
        /// 负责人手机号
        /// </summary>
        public string LeaderMobile { get; set; }
        /// <summary>
        /// 图片地址
        /// </summary>
        public string Picture { get; set; }
        /// <summary>
        /// 审核状态
        /// </summary>
        public AuditStatusEnum AuditStatus { get; set; }
        public virtual ICollection<Schedule> Schedules { get; set; }

        /// <summary>
        /// 航线标识
        /// </summary>
        public Guid? RouteId { get; set; }
        [ForeignKey("RouteId")]
        public virtual Route Route { get; set; }

        /// <summary>
        /// 标准仓数量
        /// </summary>
        public long StandardNum { get; set; }
        /// <summary>
        /// VIP仓数量
        /// </summary>
        public long VIPNum { get; set; }
        /// <summary>
        /// 包间数量
        /// </summary>
        public long CompartmentNum { get; set; }

        /// <summary>
        /// 游船呼号
        /// </summary>
        public string CallName { get; set; }
        /// <summary>
        /// IMO编号
        /// </summary>
        public string IMONumber { get; set; }
        /// <summary>
        /// 建成日期
        /// </summary>
        public DateTime? CreateDate { get; set; }
        /// <summary>
        /// 总吨
        /// </summary>
        public decimal? GrossWeight { get; set; }
        /// <summary>
        /// 净吨
        /// </summary>
        public decimal? NetWeight { get; set; }
        /// <summary>
        /// 总功率
        /// </summary>
        public decimal? GrossPower { get; set; }

        /// <summary>
        /// 船籍港
        /// </summary>
        public string RegistryPort { get; set; }

    }
}
